home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / management / MBeanFeatureInfo.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.3 KB  |  93 lines

  1. package javax.management;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7. import java.io.StreamCorruptedException;
  8.  
  9. public class MBeanFeatureInfo implements Serializable, DescriptorRead {
  10.    static final long serialVersionUID = 3952882688968447265L;
  11.    protected String name;
  12.    protected String description;
  13.    private transient Descriptor descriptor;
  14.  
  15.    public MBeanFeatureInfo(String var1, String var2) {
  16.       this(var1, var2, (Descriptor)null);
  17.    }
  18.  
  19.    public MBeanFeatureInfo(String var1, String var2, Descriptor var3) {
  20.       this.name = var1;
  21.       this.description = var2;
  22.       this.descriptor = var3;
  23.    }
  24.  
  25.    public String getName() {
  26.       return this.name;
  27.    }
  28.  
  29.    public String getDescription() {
  30.       return this.description;
  31.    }
  32.  
  33.    public Descriptor getDescriptor() {
  34.       return (Descriptor)ImmutableDescriptor.nonNullDescriptor(this.descriptor).clone();
  35.    }
  36.  
  37.    public boolean equals(Object var1) {
  38.       if (var1 == this) {
  39.          return true;
  40.       } else if (!(var1 instanceof MBeanFeatureInfo)) {
  41.          return false;
  42.       } else {
  43.          MBeanFeatureInfo var2 = (MBeanFeatureInfo)var1;
  44.          return var2.getName().equals(this.getName()) && var2.getDescription().equals(this.getDescription()) && var2.getDescriptor().equals(this.getDescriptor());
  45.       }
  46.    }
  47.  
  48.    public int hashCode() {
  49.       return this.getName().hashCode() ^ this.getDescription().hashCode() ^ this.getDescriptor().hashCode();
  50.    }
  51.  
  52.    private void writeObject(ObjectOutputStream var1) throws IOException {
  53.       var1.defaultWriteObject();
  54.       if (this.descriptor != null && this.descriptor.getClass() == ImmutableDescriptor.class) {
  55.          var1.write(1);
  56.          String[] var2 = this.descriptor.getFieldNames();
  57.          var1.writeObject(var2);
  58.          var1.writeObject(this.descriptor.getFieldValues(var2));
  59.       } else {
  60.          var1.write(0);
  61.          var1.writeObject(this.descriptor);
  62.       }
  63.  
  64.    }
  65.  
  66.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  67.       var1.defaultReadObject();
  68.       switch (var1.read()) {
  69.          case -1:
  70.             this.descriptor = ImmutableDescriptor.EMPTY_DESCRIPTOR;
  71.             break;
  72.          case 0:
  73.             this.descriptor = (Descriptor)var1.readObject();
  74.             if (this.descriptor == null) {
  75.                this.descriptor = ImmutableDescriptor.EMPTY_DESCRIPTOR;
  76.             }
  77.             break;
  78.          case 1:
  79.             String[] var2 = (String[])var1.readObject();
  80.             if (var2.length == 0) {
  81.                this.descriptor = ImmutableDescriptor.EMPTY_DESCRIPTOR;
  82.             } else {
  83.                Object[] var3 = var1.readObject();
  84.                this.descriptor = new ImmutableDescriptor(var2, var3);
  85.             }
  86.             break;
  87.          default:
  88.             throw new StreamCorruptedException("Got unexpected byte.");
  89.       }
  90.  
  91.    }
  92. }
  93.